package org.jiuling.local.tools.random;

import org.jiuling.local.tools.exception.LocalToolsRuntimeException;

/**
 * UUID
 * @author 紫灵
 * @date 2021年09月08日 22时33分28秒
 */
@Deprecated
public class UUID {

    /** 私有构造方法，禁止创建对象 */
    private UUID() {}

    /**
     * 获取UUID
     * @return UUID
     */
    public static String getUUID(){
        return java.util.UUID.randomUUID().toString();
    }

    /**
     * 获取不带横线的UUID
     * @return 不带横岗的UUID
     */
    public static String getUUIDIsWithoutLine(){
        // 获取UUID并去掉横线
        return getUUID().replace("-","");
    }

    /**
     * 获取UUID版本
     * @param uuidStr UUID字符串
     * @return 版本
     */
    public static String getVersion(String uuidStr)  {
        String uuid = uuidStr.replace("-","");
        if(uuid.length() != 32){
            throw new LocalToolsRuntimeException("UUID格式不正确！");
        }
        uuid = uuid.substring(0,8)+"-"+uuid.substring(8,12)+"-"+uuid.substring(12,16)+"-"+uuid.substring(16,20)+"-"+uuid.substring(20);
        int version =java.util.UUID.fromString(uuid).version();
        return "v"+version;
    }
}
